package Management.c;


//import a.TestMain3333;

import java.io.File;
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;


public class Starter
/*
传入一些参数
可以更改配置 (在application.yml 中配置参数)
有默认的配置参数
有一个功能实现，可以获取到用户传入的配置参数
使用配置参数，可以实现想要的功能
动态的进行配置，热插拔效果
自定义starter,就拥有这些东西
没有自定义starter,就没有这些东西的效果
自动化的配置
可以被 SpringBoot 官方识别并承认 (需要固定的格式)
Starter是SpringBoot中一个非常重要的概念
为我们带来了众多的自动化配置
有了这些自动化配置，我们可以很方便的搭建一个生产级的开发环境
Starter其实也是Spring+SpringMVC中的基础知识点实现的
其核心就是条件注解@Conditional
当classpath下存在某一个Class时，某个配置才会生效
Starter是一个普通的Maven项目
因此我们自定义Starter，首先需要创建一个普通的Maven项目
创建完成之后，添加Starter的自动化配置类
 */
{


    public static void main(String[] args) throws SQLException, ClassNotFoundException
        /*
  public关键字声明主函数为public就是告诉其他的类可以访问这个函数
static关键字，告知编译器main方法是一个静态方法
也就是说main方法中的代码是存储在静态存储区（方法区）的
当定义了类以后这段代码就已经存在了
不需要通过实例化来访问，可直接通过类名
main()直接访问。
void关键字表明main()的返回值是无类型
main是jvm识别的特殊方法名，是程序的入口方法
同一个.java文件可以有多个main方法
只有与文件名相同的用public修饰的类中的main()方法才能作为整个程序的入口方法
*/
    {
        Scanner sc = new Scanner(System.in);
        while (true) {
            // 实例化
           // TestMain4 tt = new TestMain4();
            // 调用方法
          //  tt.Time();
           //循环语句
          /*
          while循环控制变量的
          初始化一般放在while语句之前
          循环控制变量的修改一般放在循环体中
           但它比较适用于循环次数不易预知的情况（用某一条件控制循环）
           */
           TestMain4.main(null);
            System.out.println("---------------------------------");
            System.out.println("---------------------------------");
            System.out.println("---------welocme系统--------------");
            System.out.println("------------1.登录----------------");
            System.out.println("------------0.退出----------------");
            System.out.println("---------------------------------");
            System.out.println("---------------------------------");
            String str = sc.nextLine();
            if ("1".equals(str)) { // "1" == str不允许

                while (true) {
                    System.out.println("--------请输入用户名----------");
                    String username = sc.nextLine();
                    System.out.println("--------请输入密码-----------");
                    String password = sc.nextLine();

                  loginDao dao = new loginDao();
                    List<UserInfoMstPojo> ulist = dao.findByUname(username);//实例调用

                    //System.out.println(username);
                   // System.out.println(ulist);

                    if (ulist.size() == 1) {
                        if (ulist.get(0).getPassword().equals(password)) {
                            System.out.println("登录成功");
                            // TODO
                            while (true) {


                                System.out.println("-------1.添加学生------");
                                //添加学生信息
                                System.out.println("-------2.导入学生信息------");
                                //导入学生信息
                                System.out.println("-------3.导出学生信息------");
                                //导出学生信息
                                System.out.println("-------------");
                                //输入
                                System.out.println("-------------");
                                //输入
                                String str1 = sc.nextLine();
                                if ("1".equals(str1))
                               /*
                                if语句(if statement)
                                来判定所给定的条件是否满足，
                                根据判定的结果(真或假)决定执行给出的两种操作之一
                                条件语句
                                */
                                {
                                    System.out.println("-----添加学生信息：姓名--------");
                                    //添加学生信息，姓名
                                    String v1 = sc.nextLine();
                                    System.out.println("-----添加学生信息：密码--------");
                                    //添加学生信息，密码
                                    String v2 = sc.nextLine();
                                    // int 变更了几条记录
                                    int r = dao.addUserInfo(v1, v2);
                                    System.out.println("添加成了" + r + "条数据");
                                } else if ("2".equals(str1)) { // TODO其他处理
                                    // TODO其他处理

                                    while (true)
                                    /*
                                    而while循环控制变量的
                                    初始化一般放在while语句之前
                                    循环控制变量的修改一般放在循环体中
                                    比较适用于循环次数不易预知的情况（用某一条件控制循环）
                                     */
                                    {
                                        //

                                        System.out.println("-----请输入文件excel--------");
                                        //请输入文件
                                        System.out.println("-----0.返回上一级l--------");
                                       //返回上一级
                                        String path = sc.nextLine();
                                        //String path = request.getContextPath()
                                        //String basePath = request.getScheme()+”
                                        // ”+request.getServerName()+”
                                        // ”+request.getServerPort()+path+”/”
                                        //这个语句是用来拼接当前网页的相对路径
                                        //用来表明当前页面的相对路径所使用的根路径
                                        if ("0".equals(path))
                                        /*
                                        if语句(if statement)是指编程语言(包括c语言，C#,VB，汇编语言等)
                                        用来判定所给定的条件是否满足
                                        根据判定的结果(真或假)决定执行给出的两种操作之一
                                        如果表达式的值为真，则执行其后的语句
                                        否则不执行该语句。
                                         */
                                        {
                                            break;
                                        } else {
//
                                            // 文件存不存在
                                            File file = new File(path);
                                            if (!file.exists()) { // 文件不存在的话
                                                System.out.println("-----文件不存在的话--------");
                                            } else {
                                                // 读取文件
                                                if (!file.exists()) { // 文件不存在的话
                                                    System.out.println("-----文件不存在的话--------");
                                                } else {
                                                    StudentExcele se = new StudentExcele();
                                                    List<StudentPojo> slist = se.readStudentInfo(file);
                                                    // 循环插入数据操作
                                                    // 循环插入数据操作
                                                    StudentDao studao = new StudentDao();
                                                    studao.insertAll(slist);

                                                    System.out.println("---插入成功--");
                                                }

                                            }
                                        }
//                                        // 文件存不存在 参考teatMain的读入                                      }
                                    }
                                }

                                //else if ("3".equals(str1)) {

                            }






                        } else {
                            System.out.println("用户名存在，密码不正确");
                        }
                    } else {
                        System.out.println("有问题了呀！用户名不存在");
                    }
                }
                } else if ("0".equals(str)) {
                    System.exit(0);
                } else {
                    System.out.println("请重新输入");
                }
            }
        }
    }
